<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@include file="common.jsp"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>采购退货新增</title>
<link rel="stylesheet" href="${pageContext.request.contextPath }/css/bootstrap-editable.css">
<script type="text/javascript" src="${pageContext.request.contextPath }/js/bootstrap-editable.js"></script>
<script src="${pageContext.request.contextPath }/bootstrap-table/dist/extensions/editable/bootstrap-table-editable.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath }/js/hyJS.js"></script>
<script type="text/javascript">
$(function () {

    //1.初始化Table
    var oTable = new TableInit();
    oTable.Init();

    //2.初始化Button的点击事件
    var oButtonInit = new ButtonInit();
    oButtonInit.Init();
	//初始化提示框的位置：top-center，bottom-left，bottom-right
    toastr.options.positionClass = 'toast-top-center';
    $('#d2').hide();
    $('#plannumber').html($("#plannumberC").val());
  
    //制单人
	$("#markman").html($('#markmanC').val());
	//采购日期
	$("#datetime").val(FormatDate($('#datetimeC').val()));
	
	$("#productionPlan").html($("#remark9C").val());
	//document.getElementById("productionPlan").disabled=true;
	
	
    //点击BOM计算后
    $('#btn_bom').click(function () {
    	$('#d2').show();
    	//从被选中单号中拿出数据
    	var rows = $('#tb_table1').bootstrapTable("getSelections");
    	for(var i=0;i<rows.length;i++){
    		var pname=rows[i].pname;
    		var remartk1=rows[i].remartk1;
    		var remartk=rows[i].remartk;
    		$('#tb_table2').bootstrapTable('refresh', {
        		url: '${pageContext.request.contextPath}/bom/insertBomResult.do?remartk='+remartk+'&&pname='+pname+'&&remartk1='+remartk1,
        	});
    	}
    	$('#tb_table2').bootstrapTable('refresh');
    });
    
    $('#btn_guanbi').click(function () {
    	$('#bom').modal("hide");
    });
    
  //页面加载完成之后,将所有的生产计划单号加载
/*      $.ajax({
    	dataType:'json',
    	url:'${pageContext.request.contextPath}/custom/custom_list.do',
    	success:function(data) {
    		
    		for (var i = 0;i<data.length;i++) {
    			$('#productionPlan').append('<option>'+data[i]+'</option></select>');
    		}
    		
    		// $('#productionPlan').selectpicker('refresh');  
    	}
    	
    });  */
  /*  //计量单位
     var colors = $('#productionPlan').find("option");

     for (var j = 0; j < colors.length; j++) {
         if ($(colors[j]).val() == $("#remark9C").val()) {

             $(colors[j]).attr("selected", true);
         }

     } */
     
	
   /*   //点击生产计划单,BOM计算
    $('#productionPlan').change(function () {
    	$('#bom').modal("show");
    	$('#d2').hide();
    	$('#tb_table1').bootstrapTable('refresh', {
    		url: '${pageContext.request.contextPath }/custom/custom_listDetail.do?prnum='+$('#productionPlan').val(),
    	});
    	$('#tb_table1').bootstrapTable('refresh');
    }); */
	function add0(m){return m<10?'0'+m:m }
	function FormatDate (strTime) {
	    var date = new Date(strTime);
	    return date.getFullYear()+"-"+add0((date.getMonth()+1))+"-"+add0(date.getDate());
	} 
     $('#btn_confirm').click(function () {
    	var tab2=$('#tb_table2').bootstrapTable('getData');
    	var ii = 0; 
    	for (var i = 0; i < tab2.length; i++) {
    		if(tab2[i].remark15 == null || tab2[i].remark15 == ""){
    			ii++;
    			toastr.warning("请将到货日期填写完整");
    			return ;
    		}
    		
		}
    	if(ii > 0){
    		return ;
    	}
    	
    	$('#tb_departments').bootstrapTable('removeAll'); 
    	
    	for (var i = 0; i < tab2.length; i++) {
    		var row = null;
    		row={"plantotal":Number(tab2[i].remartk1)+Number(tab2[i].remark7)-Number(tab2[i].remark10),"total":(Number(tab2[i].remartk1)+Number(tab2[i].remark7)-Number(tab2[i].remark5))*Number(tab2[i].remark3),
	    			"materiel":{
	    				"id":tab2[i].id,
	    				"name":tab2[i].name,
	    				"number":tab2[i].number,
		    			"remark2":tab2[i].remark2,
		    			"remark3":tab2[i].remark3
	    			},"remark1":tab2[i].remark15,
    			}
    		 $('#tb_departments').bootstrapTable('append', row); 
		}
    	
   		$('#bom').modal("hide");
   		$('#tb_departments').bootstrapTable('refresh'); 
    }); 
    
  //保存
    $('#btn_add').click(function () {
    	//var row=$('#tb_table2').bootstrapTable('getData')
    	var row=$('#tb_departments').bootstrapTable('getData')
    	//采购计划编号
    	var plannumber=$('#plannumber').html();
    	//订单日期
    	var id=$('#idC').val();
    	var datetime=$('#datetime').val();
    	/* var exapp=$('#exapp').html(); */
    	var markman=$('#markman').html();
    	var ii = 0;
    	if(null == plannumber || "" == plannumber || null  == datetime || "" == datetime /* || null == exapp || "" == exapp */  || row.length <= 0){
    		ii++;
    		toastr.warning("请将采购计划单填写完整");
    	}
    	if(ii > 0){
    		return ;
    	}
    	//到货时间
    	var remark1=[];
    	//物料ID
    	var dids=[];
    
    	for (var j = 0; j < row.length; j++) {
    		remark1.push(row[j].remark1);
    		dids.push(row[j].id);
		}
    	
    	$.ajax({
    		cache: false,
    		url:'${pageContext.request.contextPath }/plan/update.do',
    		type:"POST",
    		data:'id='+id+'&datetime1='+datetime+"&remark1s="+remark1+"&dids="+dids,
    		success:function (data) {
    			var result=eval("("+data+")");
    			if (result==1) {
    				$('#tb_departments').bootstrapTable('refresh');
                	toastr.success("操作成功");
                    setTimeout(function(){  //使用  setTimeout（）方法设定定时2000毫秒
                    	window.location.href='${pageContext.request.contextPath }/pages/cb/plan.jsp';
                    },2000);
				} else{
					toastr.error('操作失败!'); 
				} 
    		}
    	});
    });
    
    
    $('#btn_delete').click(function () {
    	//判断是否删除显示的详情所对应的退货单
    	var row=$.map($("#tb_departments").bootstrapTable('getSelections'),function(row){
    		return row ;
    	});
    	var idss=[];
    	if (row.length == 0) {
    		toastr.warning('请至少选择一条数据!');
    	}else{
    		var ids="";
    		for(var i=0;i<row.length;i++){
    			ids+=","+row[i].id;
    			idss.push(row[i].id);
    		}
    		ids = ids.substr(1,ids.length-1);
    		//询问框
    		Ewin.confirm({ message: "确认要删除选择的数据吗？ "}).on(function (e) {
    	       if (!e) {
    	         return;
    	       } 
    	    	var url = "${pageContext.request.contextPath }/PlanDetailed/delete.do";
    		    $.post(url, "ids="+ids, function(data) {
    				if (data == 1) {
    					toastr.success('删除成功');
    					setTimeout(function(){  //使用  setTimeout（）方法设定定时2000毫秒
    						$('#tb_departments').bootstrapTable('remove', {field: 'id', values: idss});	            					},2000);
    				} else {
    					toastr.error('删除失败');
    				}
    			}); 
    	    }); 
    	}
 	});
  //时间插件
	$(".form_datetime").datetimepicker({
		 language: 'zh-CN',//中文，需要引用zh-CN.js包
		 format: "yyyy-mm-dd",
		 autoclose: true,
		 todayBtn: true,
		 todayHighlight: true,
		 showMeridian: true,
		 pickerPosition: "bottom-left",
		 startView: 2,//月视图
		 minView: 2,//日期时间选择器所能够提供的最精确的时间选择视图
		 clearBtn:true// 自定义属性,true 显示 清空按钮 false 隐藏 默认:true
	});
  
});


var TableInit = function () {
    var oTableInit = new Object();
    //初始化Table
    oTableInit.Init = function () {
        $('#tb_departments').bootstrapTable({
        	url: '${pageContext.request.contextPath }/PlanDetailed/PlanDetailedList.do',
        	method: 'get',                      //请求方式（*）
            toolbar: '#toolbar',                //工具按钮用哪个容器
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: true,                   //是否显示分页（*）
            sortable: false,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            queryParams: oTableInit.queryParam,//传递参数（*）
            sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber:1,                       //初始化加载第一页，默认第一页
            pageSize: 10,                       //每页的记录行数（*）
            pageList: [10, 20, 30],        //可供选择的每页的行数（*）
            search: false,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
            strictSearch: false,
            showColumns: false,                  //是否显示所有的列
            showRefresh: false,                  //是否显示刷新按钮
            minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            //height: 560,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
            uniqueId: "ID",                     //每一行的唯一标识，一般为主键列
            showToggle:false,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            columns: [[{
                    	title:'采购计划单号'
                       },{
                    	   title:'<div id="plannumber">20171219001</div>'
                       },{
                    	   title:'采购日期'
                       },{
                    	   title:'<input id="datetime" class="form_datetime" >', 
                    	   colspan:3
                       },{
                    	   title:'制单人'
                       },{
                    	   title:'<div id="markman"></div>',
                       }],[{
                    	   
                    	   title:'生产计划号'
                       },{
                    	   //title:'<select class="show-tick form-control" id="productionPlan"><option>请选择生产计划号</option></select>',
                    	   title:'<div id="productionPlan"></div>',
                    	   colspan:6
                       /* },{
                    	   title:'审批人'
                       },{
                    	   //title:'<select class="show-tick form-control" id="exapp"></select>',
                    	   title:'<div id="exapp">经理或厂长或副总经理</div>', */
                       }],[{
         	   checkbox: true
            }, {
            	field: 'materiel.remark2',
                title: '车种'
            }, {
                field: 'materiel.name',
                title: '物料名称'
            }, {
            	field: 'materiel.materialmodel',
                title: '物料型号',
                formatter:function(value,row,index){
                	if(row.materiel == null || row.materiel == ""){return "";}
                	else{return row.materiel.materialmodel;}
                },
            },{
                field: 'plantotal',
                title: '订单数量'
            },{
            	field: 'materiel.remark3',
                title: '单价'
            },{
            	field: 'plantotal',
                title: '金额',
               	 formatter:function(value,row,index){
               		if (row.plantotal == null) {return 0}
               		else{return row.materiel.remark3*row.plantotal; }
        	     },
            },{
            	field: 'remark1',
                title: '到货日期',
                editable:{
                	type:'date',
                    placement: 'left'
                }
            }, { 
             	field: 'id',
                title: 'id',
                visible: false
            }]]
        });
        
         $('#tb_table1').bootstrapTable({
        	
            method: 'get',                      //请求方式（*）
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: true,                   //是否显示分页（*）
            sortable: false,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            toolbar: '#toolbar1',                //工具按钮用哪个容器
            queryParams: oTableInit.queryParams,//传递参数（*）
            sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber:1,                       //初始化加载第一页，默认第一页
            pageSize: 10,                       //每页的记录行数（*）
            pageList: [10, 20, 30],        //可供选择的每页的行数（*）
            search: false,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
            strictSearch: false,
            showColumns: false,                  //是否显示所有的列
            showRefresh: false,                  //是否显示刷新按钮
            minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            height: 524,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
            uniqueId: "ID",                     //每一行的唯一标识，一般为主键列
            showToggle:false,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            columns: [{
            	checkbox: true
            },{
                field: 'plannum',
                title: '计划单号',
            }, {	
                field: 'pnum',
                title: '品编',
            },{
            	field: 'pname',
            	title: '品名',
            },{
            	field: 'remartk1',
            	title:'生产计划量'
            }]
        })
        
        $('#tb_table2').bootstrapTable({
        	
            method: 'get',                      //请求方式（*）
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: false,                   //是否显示分页（*）
            sortable: false,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            queryParams: oTableInit.queryParams,//传递参数（*）
            sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber:1,                       //初始化加载第一页，默认第一页
            pageSize: 10,                       //每页的记录行数（*）
            pageList: [10, 20, 30],        //可供选择的每页的行数（*）
            search: false,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
            strictSearch: false,
            showColumns: false,                  //是否显示所有的列
            showRefresh: false,                  //是否显示刷新按钮
            minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            height: 500,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
            uniqueId: "ID",                     //每一行的唯一标识，一般为主键列
            showToggle:false,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            columns: [{
           	    field: 'id',
                title: 'id',
                visible: false
            }, {
                field: 'name',
                title: '物料名称',
            }, {
                field: 'materialmodel',
                title: '型号',
            /* },{
            	field: 'pname',
            	title: '品名', */
            },{
            	field:'company',
            	title:'计量单位'
            },{
            	field: 'remartk1',
            	title:'生产需求数量'
            },{
            	field:'remark10',
            	title:'库存'
            },{
            	field:'remark7',
            	title:'最低安全库存量'
            },{
            	field: 'remark15',
                title: '到货日期',
                editable:{
                	type:'date',
                    placement: 'left'
                }
            }],
            
            onEditableSave: function (field, row, oldValue, $el) {
        		$('#tb_table2').bootstrapTable("resetView");
        	}
        })
    };

    //得到查询的参数
    oTableInit.queryParams = function (params) {
        var temp = {   //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            limit: params.limit,   //页面大小
            offset: params.offset,  //页码
            departmentname: $("#txt_search_departmentname").val(),
            statu: $("#txt_search_statu").val()
        };
        return temp;
    }; 
  	//得到查询的参数
    oTableInit.queryParam = function (params) {
        var temp = {   //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            limit: params.limit,   //页面大小
            offset: params.offset,  //页码
            planNumber:$.trim($('#plannumberC').val()), 
        };
        return temp;
    };
    return oTableInit;
};


var ButtonInit = function () {
    var oInit = new Object();
    var postdata = {};

    oInit.Init = function () {
        //初始化页面上面的按钮事件
    };

    return oInit;
};


</script>
</head>
<body>
	<div class="panel-body" style="padding-bottom: 0px;">
		<div id="toolbar" class="btn-group">
			<button id="btn_add" type="button" class="btn btn-default" >
				<span class="glyphicon glyphicon-plus" aria-hidden="true"></span>保存
			</button>
			
			<button id="btn_back" type="button" class="btn btn-default" onclick="javascript:history.back()" >
            	<span class="glyphicon glyphicon-arrow-left" aria-hidden="true"></span>退出
        	</button>
			
		<!-- 	<button id="btn_edit" type="button" class="btn btn-default">
				<span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>修改
			</button> -->
			<!-- 详情是bOM计算而来，删除后和排产单对应不起来 -->
			<!-- <button id="btn_delete" type="button" class="btn btn-default">
				<span class="glyphicon glyphicon-remove" aria-hidden="true"></span>删除
			</button> --> 
		</div>

		<table id="tb_departments"></table>
		
		
		
		
	</div>
	<input type="hidden" id="idC" value="${plan.id}">
	<input type="hidden" id="plannumberC" value="${plan.plannumber}">
	<input type="hidden" id="datetimeC" value="${plan.datetime}">
	<input type="hidden" id="markmanC" value="${plan.markman}">
	<%-- <input type="hidden" id="exappC" value="${plan.exapp}"> --%>
	<input type="hidden" id="remark9C" value="${plan.remark9}">
	<div class="modal fade " id="bom"  tabindex="-1" role="dialog" aria-labelledby="myModal" data-backdrop="static" data-keyboard="false">
    	<div class="modal-dialog" role="document" style="width:60%;height: auto;">
        	<div class="modal-content">
           	 <!-- <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
                        aria-hidden="true">&times;</span></button>
                <h4 class="modal-title" id="exampleModalLabel">编辑</h4>
            </div> -->
			<div class="modal-body">
			
			
			
			<div id="toolbar1" class="btn-group">
				<button id="btn_confirm" type="button" class="btn btn-default">
					<span class="glyphicon glyphicon-ok" aria-hidden="true"></span>确定
				</button>
				<button id="btn_guanbi" type="button" class="btn btn-default">
					<span class="glyphicon glyphicon-remove" aria-hidden="true"></span>关闭
				</button>
				<button id="btn_bom" type="button" class="btn btn-default">
					<span class="glyphicon glyphicon-btc" aria-hidden="true"></span>BOM计算
				</button>
			</div>
			<table id="tb_table1"></table>
            <div id="d2"><table id="tb_table2"></table></div>
            </div>
        </div>
    </div>
</div>
	
	
</body>
</html>